package fr.ajicommerce.core.service.interfaces;

import java.util.List;

import fr.ajicommerce.core.dto.PhotoDTO;
import fr.ajicommerce.core.dto.ProduitDTO;
import fr.ajicommerce.core.entities.Photo;
import fr.ajicommerce.core.entities.Produit;
import fr.ajicommerce.core.service.generics.AbstractService;

public interface ProduitService extends AbstractService<ProduitDTO, Produit> {
	public void addPhoto(long idPhoto);

	public long createProduit(String description, double prix);

	public void deletePhoto(long idPhoto);

	public List<Photo> findPhotosParProduit(Produit produit);

	public long getCategorie();

	public void getProduit(long idProduit);

	public void removeProduit(long idProduit);

	public void setCategorie(long idCategorie);

	public void setDescription(String description);

	public void setPrix(double prix);

	public void updateIdProduit(long idProduit);

	public ProduitDTO findProduitByReference(String reference);
	
	public ProduitDTO findProduitByStrictReference(String reference);

	public ProduitDTO findProduitByLabel(String label);

	public List<ProduitDTO> findAllProduitsByThisReference(String reference);

	public List<ProduitDTO> findAllProduitsByThisLabel(String label);

	public List<PhotoDTO> getListPhotos(ProduitDTO dproduit);
	
	public void setListPhotos(List<PhotoDTO> photos);
}
